Modul 5 von 12 · 📖 9 min Lesezeit · ⏱ 30 min gesamt
FI-DV 05 IoT-Sensorik und Aktorik
Inhaltsverzeichnis (6 Abschnitte)
FI-DV 05 IoT-Sensorik und Aktorik
In diesem Modul erlernen Sie die Grundlagen der IoT-Sensorik und Aktorik. Sie verstehen die verschiedenen Sensortypen, den Prozess der Analog-Digital-Wandlung und die Bedeutung von Bus-Systemen wie CAN und RS-485 in der Praxis. Zudem erwerben Sie Kenntnisse zur Konfiguration der entsprechenden Treiber, um Sensordaten effizient auszulesen und Aktoren zu steuern.
Die vermittelten Konzepte bilden die Basis für den Aufbau und die Implementierung von IoT-Lösungen in der industriellen und kommerziellen Anwendung. Sie werden in der Lage sein, passende Sensoren und Aktoren für spezifische Anforderungen auszuwählen und diese in bestehende Infrastrukturen zu integrieren.
Konzepte und Hintergrund
- Sensor
- Ein Sensor ist ein Bauelement, das physikalische oder chemische Größen wie Temperatur, Druck, Feuchtigkeit oder Bewegung in ein elektrisches Signal umwandelt. In IoT-Systemen dienen Sensoren als Eingangsinterface zur Erfassung von Umgebungsdaten.
- Aktor
- Aktoren sind Ausgabeelemente, die elektrische Signale in physikalische Aktionen umsetzen. Beispiele sind Motoren, Ventile, LEDs oder Relais, die in IoT-Systemen zur Steuerung und Beeinflussung der Umgebung eingesetzt werden.
- Analog-Digital-Wandlung (ADC)
- Der Prozess der Analog-Digital-Wandlung wandelt kontinuierliche analoge Signale in diskrete digitale Werte um. Dieser Schritt ist essenziell, da Mikroprozessoren und Computer nur digitale Daten verarbeiten können. Die Auflösung wird in Bit angegeben (z.B. 10-Bit ADC kann 1024 verschiedene Werte darstellen).
- Bus-Systeme
- Bus-Systeme sind Kommunikationsprotokolle, die es ermöglichen, mehrere Sensoren und Aktoren über eine gemeinsame Leitung zu verbinden. Sie reduzieren die Verkabelungskomplexität und ermöglichen eine standardisierte Kommunikation zwischen Komponenten.
- Treiber
- Treiber sind Softwarekomponenten, die als Schnittstelle zwischen Hardware (Sensoren/Aktoren) und Betriebssystem bzw. Anwendung dienen. Sie übersetzen die Befehle des Systems in für die Hardware verständliche Signale und umgekehrt.
Architektur-Diagramm
flowchart TB
subgraph IoT-Knoten
A[Mikrocontroller] --> B[ADC]
B --> C[Sensoren]
A --> D[Digital I/O]
D --> E[Aktoren]
A --> F[Bus-Interface]
end
F --> G[CAN-Bus]
F --> H[RS-485-Bus]
G --> I[Gateway]
H --> I
I --> J[Cloud/Server]
J --> K[Anwendung/Dashboard]
Praktische Schritte
- Installieren Sie die notwendigen Entwicklungstools für Ihren Mikrocontroller (z.B. Arduino IDE für ESP32/Arduino).
- Verbinden Sie einen Temperatursensor (z.B. DS18B20) mit dem Mikrocontroller gemäß dem Datenblatt.
- Konfigurieren Sie die I2C-Kommunikation für den Sensor im Code:
#include <Wire.h> #include <OneWire.h> OneWire oneWire(4); DallasTemperature sensors(&oneWire); void setup() { sensors.begin(); } void loop() { sensors.requestTemperatures(); float temp = sensors.getTempCByIndex(0); Serial.print("Temperatur: "); Serial.print(temp); Serial.println(" °C"); delay(2000); } - Implementieren Sie die CAN-Bus-Kommunikation mit einem CAN-Controller (z.B. MCP2515):
#include <mcp_can.h> #include <SPI.h> MCP_CAN CAN0(10); void setup() { Serial.begin(115200); while (CAN0.begin(MCP_ANY, CAN_500KBPS, MCP_PIN_8) != CAN_OK) { delay(100); } CAN0.setMode(MCP_NORMAL); } void loop() { if (CAN0.readMsgBuf(&len, &canId, buf)) { Serial.print("ID: "); Serial.print(canId); Serial.print(" Data: "); for (int i = 0; i < len; i++) { Serial.print(buf[i], HEX); Serial.print(" "); } Serial.println(); } } - Konfigurieren Sie den RS-485-Bus für die Kommunikation mit mehreren Geräten:
#include <SoftwareSerial.h> SoftwareSerial RS485(2, 3); // RX, TX void setup() { Serial.begin(9600); RS485.begin(9600); } void sendCommand(byte address, byte command) { RS485.write(address); RS485.write(command); RS485.write(0x0D); // CR RS485.write(0x0A); // LF } void loop() { sendCommand(0x01, 0x03); // Sende Anfrage an Gerät mit Adresse 1 delay(1000); } - Installieren und konfigurieren Sie den Treiber für Ihren spezifischen Sensor im Linux-System:
sudo apt-get install i2c-tools sudo modprobe w1-gpio sudo modprobe w1-therm sudo i2cdetect -y 1 - Testen Sie die Sensorausgabe mit einem einfachen Skript:
#!/bin/bash while true; do temp=$(cat /sys/bus/w1/devices/28-*/w1_slave | grep "t=" | cut -d'=' -f2) echo "Temperatur: $((temp/1000)).$((temp%1000/10)) °C" sleep 2 done - Integrieren Sie die gesammelten Daten in ein MQTT-System für die Weiterverarbeitung:
mosquitto_pub -t sensors/temperature -m "23.5"
Häufige Fallstricke
Weiterführende Ressourcen
- Arduino I2C Reference - Offizielle Dokumentation zur I2C-Kommunikation mit Arduino
- MCP2515 Datasheet - Technisches Datenblatt für den CAN-Controller MCP2515
- SN65HVD230 Datasheet - Technisches Datenblatt für den RS-485-Transceiver
- Linux I2C Subsystem - Offizielle Dokumentation zum Linux I2C-Subsystem
- CAN-Bus Grundlagen - Umfassende Einführung in CAN-Bus-Technologie
Wissens-Check
Vier Fragen zur Selbstkontrolle. Klicken Sie jede Frage an, um die richtige Antwort und Erklärung zu sehen.
Was ist die Hauptfunktion eines ADC in IoT-Systemen?
- A) Umwandlung digitaler Signale in analoge Signale
- B) Wandlung analoger Sensordaten in digitale Werte
- C) Verstärkung schwacher elektrischer Signale
- D) Filterung von Störsignalen in der Kommunikation
Richtige Antwort: B. Ein ADC wandelt analoge Sensordaten in digitale Werte um, da Mikroprozessoren nur digitale Daten verarbeiten können. Option A beschreibt den umgekehrten Prozess (DAC), Option C und D sind nicht die Hauptfunktion eines ADC.
Welche Aufgabe erfüllen Treiber in IoT-Systemen?
- A) Sie reduzieren die Verkabelungskomplexität zwischen Sensoren und Aktoren
- B) Sie übersetzen Systembefehle in für die Hardware verständliche Signale
- C) Sie wandeln physikalische Größen in elektrische Signale um
- D) Sie speichern die erfassten Sensordaten dauerhaft
Richtige Antwort: B. Treiber dienen als Schnittstelle zwischen Hardware und Software, indem sie Systembefehle in für die Hardware verständliche Signale übersetzen. Option A beschreibt die Funktion von Bus-Systemen, Option C ist die Aufgabe von Sensoren und Option D ist Aufgabe von Speicherkomponenten.
Was ist der Hauptvorteil der Verwendung von Bus-Systemen in IoT-Anwendungen?
- A) Sie ermöglichen eine höhere Auflösung bei der Messung von Sensordaten
- B) Sie reduzieren die Verkabelungskomplexität und standardisieren die Kommunikation
- C) Sie erhöhen die Geschwindigkeit der Analog-Digital-Wandlung
- D) Sie ermöglichen die direkte Umwandlung von physikalischen Größen in digitale Daten
Richtige Antwort: B. Bus-Systeme reduzieren die Verkabelungskomplexität, indem sie mehrere Komponenten über eine gemeinsame Leitung verbinden, und standardisieren die Kommunikation. Option A ist Aufgabe des ADC, Option C hängt von der ADC-Hardware ab und Option D beschreibt die Funktion von Sensoren.
Was unterscheidet Sensoren von Aktoren in IoT-Systemen?
- A) Sensoren arbeiten mit digitalen Signalen, Aktoren mit analogen Signalen
- B) Sensoren wandeln elektrische Signale in physikalische Aktionen um
- C) Sensoren erfassen Umgebungsdaten, Aktoren steuern die Umgebung
- D) Sensoren benötigen immer eine Analog-Digital-Wandlung, Aktoren nicht
Richtige Antwort: C. Sensoren dienen als Eingangsinterface zur Erfassung von Umgebungsdaten, während Aktoren als Ausgabeelemente zur Steuerung und Beeinflussung der Umgebung eingesetzt werden. Option A ist falsch, da beide mit Signalen arbeiten, Option B beschreibt die Funktion von Aktoren und Option D ist nicht korrekt, da Aktoren ebenfalls Signalverarbeitung benötigen.